import {defineStore} from "pinia";
import api from '../api/api.js'; // 导入 API 服务

export const acementStore = defineStore({
    id: "acement",
    state: () => ({
        acement: null,// 初始化 userInfo 为一个空对象

    }),

    actions: {
        // 更新用户信息并保存到本地存储

        async fetchUserInfo() {
                this.response = await api.get('/acement/',); // 调用注册的 API 接口
                if (this.response.data.code === 0) {

                    this.acement = this.response.data.data; // 从响应中设置用户信息

                    this.saveacementToLocalStorage(); // 保存用户信息到本地存储
                    return true; // 表示成功
                } else {
                    return false; // 失败
                }

        },

        saveacementToLocalStorage() {
            localStorage.setItem('acement', JSON.stringify(this.acement)); // 将用户信息保存到浏览器的本地存储
            this.loadacementFromLocalStorage();
        },

        loadacementFromLocalStorage() {
            const acement = localStorage.getItem('acement'); // 从本地存储读取用户信息

            if (acement) {
                this.acement = JSON.parse(acement); // 解析 JSON 数据并设置到 state

            } else {
                this.fetchUserInfo(); // 如果本地存储中没有用户信息，则从服务器获取
                 // 尝试再次从本地存储中读取用户信息

            }
        }
    },

    getters: {
        fullName(state) {
            return `${state.acement.firstName} ${state.acement.lastName}`; // 示例：获取用户全名的计算属性
        },
    },
});
